dynamic programming
A classification of algorithms. Although it is a frequently used term, there is no clear definition, and it is a very abstract concept that includes several algorithms that look very different from each other.
Educational DP Contest
Three ways to implement dynamic programming
I felt it would be good to clarify "what is the definition area and value of this DP" around the time of solving J
After solving about 10 DP problems, I was thinking that it would be better to clarify "what is the domain of definition and what is the value of DP" for solving DP problems. Interval DP has the interval as the domain, probability DP has the probability as the value, bit DP is just an implementation technique of DP with subset as the domain, too messy!
And during implementation, the technique "the definition region is too large, so it is exchanged for a value region" is sometimes used DP_E.
https://qiita.com/drken/items/dc53c683d6de8aeacf5a
https://qiita.com/drken/items/a5e6fe22863b7992efdb
https://www.slideshare.net/hcpc_hokudai/advanced-dp-2016
https://dalekspritner.hatenablog.com/entry/2018/09/27/231030
https://atcoder.jp/contests/dp
https://atcoder.jp/contests/tdpc
https://juppy.hatenablog.com/entry/2019/03/19/Educational_DP_Contest(EDPC)_M~P_Python_Competitive_Programming_Atcoder
https://kyopro-friends.hatenablog.com/entry/2019/01/12/230754
https://qiita.com/Series_205/items/7d2c57b45179006d0bc6
---
This page is auto-translated from /nishio/動的計画法 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.